/**
 * 数组工具类
 */
class ArrayUtil {
    /**
     * 分组
     * @param {*} rows 
     * @param {*} groupKey 分组的字段名
     * @returns 
     */
    groupBy(rows, groupKey) {
        const result = {};
        rows.forEach(row => {
            const key = row[groupKey];
            if (!result[key]) {
                result[key] = [];
            }
            result[key].push(row);
        });
        return result;
    };

    /**
     * 根据大小来进行分组
     * @param {*} data 数据
     * @param {*} size 每组长度
     * @returns 
     */
    groupBySize(data, size) {
        if (!size) {
            return data;
        }
        const results = [];
        while (data.length > 0) {
            results.push(data.splice(0, size))
        }
        return results;
    }
}


module.exports = new ArrayUtil();
